<?php
class Shop_Form_Attr_Add extends Promotor_Form_Scaffold {
	public function init() {
		$this->setMethod('post');
		$this->setAttrib('enctype', Zend_Form::ENCTYPE_MULTIPART);

		$this->addPrefixPath('Promotor_Form_Decorator_','Promotor/Form/Decorator', self::DECORATOR);
        
		$subForm = $this->_getContentForm();
        $this->addSubForm($subForm, 'contenttab');
	}
	

	/**
     * @return Zend_Dojo_Form_SubForm
     */
    protected function _getContentForm() {
    	$subForm = new Zend_Form_SubForm();
        $subForm->setAttribs(array(
            'name'   => 'contenttab',
            'legend' => 'Atrybut',
        ));
        $subForm
        	->addElement(
                'text',
                'name',
                array(
                    'label' => 'Nazwa',
                    'required'  => true,
                )
            )
            ->addElement(
                'text',
                'alias',
                array(
                    'label' => 'Alias',
                    'required'  => true,
                	'description' => 'Alias powinien być napisany z małych liter i bez polskich znaków diakrytycznych',
                	'filters' => array(
                		'strtrim' => new Zend_Filter_StringTrim(),
                		'strtolower' => new Zend_Filter_StringToLower(),
                		'rewrite' => new KontorX_Filter_Word_Rewrite()
                	),
                	'validators' => array(
                		'db_no_exsists' => new Zend_Validate_Db_NoRecordExists(
                			'shop_product', 'alias', array(
                				'field' => 'id',
                				'value' => current($this->getPrimaryKey())))
                	)
                )
            )
            ->addElement(
                'select',
                'type',
                array(
                    'label' => 'Typ',
                    'required'  => true,
                	'description' => 'Jak ma być interpretowany atrybut',
                	'multiOptions' => array(
                		'TEXT' => 'Krótki tekst',
                		'INT' => 'Liczba naturalna'
                	)
                )
            )
            ->addElement(
                'text',
                'default',
                array(
                    'label' => 'Domyślna wartość',
                	'description' => 'Domyślną wartość dla atrybutu'
                )
            )
            ->addElement(
                'checkbox',
                'required',
                array(
                    'label' => 'Obowiązkowy',
                	'description' => 'Zaznacz to pole jeżeli chcesz żeby ten atrybut był zawsze wypełniany'
                )
            )
            ->addElement(
                'textarea',
                'description',
                array(
                    'label' => 'Opis atrybutu',
                	'description' => 'Wyjaśnienie lub sprecyzowanie znaczenia atrybutu',
                    'required'  => false
                )
            );

        return $subForm;
    }
}